// modules/settingModule/pages/appointment/appointment.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
      list:[],
      loading:true,
      userinfo:{}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
      var userinfo=wx.getStorageSync('suser')                                              
      this.setData({
        userinfo:userinfo
      })
      this.getList()      
  },
  getList() {
    wx.cloud.callFunction({
      name: "order",
      data: {
        type: "selectByType",
        t: 0
      }
    }).then(async res => { // 将 res 处理部分改为 async
      console.log(res)
      const objects = res.result.data;
        
      // 使用 Promise.all 来等待所有 getServiceInfo 的结果
      const dataPromises = objects.map(async (obj) => {
        const { title }  = await this.getServiceInfo(obj.pid); // 等待 info 解析
        return { ...obj, title }; // 合并对象
      });

      const data = await Promise.all(dataPromises); // 等待所有 Promise 完成

      this.setData({
        list: data, // 设置合并后的数据
        loading:false
      });
    }).catch(error => {
      console.error('Error fetching order list:', error);
    });
  },
  accept(e){
    var id=e.currentTarget.dataset.index
    wx.cloud.callFunction({
      name:"order",
      data:{
        type:"jd",
        t:1,
        id:id,
        sid:this.data.userinfo._id
      }
    }).then(res=>{
      console.log(res)
      wx.showToast({
        title: '接单成功',
      })
      this.setData({
        loading:true
      })
      this.getList()
    })
  },
  getServiceInfo(pid) {
    return wx.cloud.callFunction({
      name: "service",
      data: {
        type: "selectById",
        id: pid
      }
    }).then(res => {
      return { ...res.result.data }; // 返回 Promise，resolve 为服务信息
    }).catch(error => {
      console.error('Error fetching service info:', error);
      return {}; // 处理错误时返回空对象或其他默认值
    });
  }
})